#pragma once

#include "fxcc/core/graph/opengl3/pch.h"

namespace fxcc
{
    namespace graph
    {
        namespace opengl3
        {
            struct FXCC_API ShaderFile
            {
                unsigned int m_Id = 0;
                bool CreateFrom(const char* code, int type);
                void Release();
                static std::string GetShaderType(int type);

                bool checkCompileErrors(unsigned int shader, std::string type);
                bool CreateFromFile(std::string path, int type);

                static std::map<int, std::string > g_ShaderDescs;

            };
        }
    }
}